//冒泡排序
#pragma once
//对数组a[0..n-1] 进行冒泡排序
//是的其中的元素从小到大排列
template <typename E>
void BubbleSort(E a[], int n)
{
    for (int i = 0; i < n - 1; i++)
    {
        bool change = false;
        for (int j = 0; j < n - i - 1; j++)
            if (a[j] > a[j + 1])
            {
                swap(a[j],a[j + 1]);
                change = true;
            }
        if (!change)
            break;
    }
}